fixed_point_calculation1(-0.249725,3.775,"mul",8,24);

function result = fixed_point_calculation1(Operand , Operator, Operation , Int_num , Fixed_num )

    %% 定点化处理输入
    fixed_operand   = fix((Operand  * 2^Fixed_num) / 1);
    fixed_operator  = fix((Operator * 2^Fixed_num) / 1);

    %% 输入限幅,做溢出处理
    if(fixed_operand > 2^(Fixed_num+Int_num))
        fixed_operand = fixed_operand - 2^(Fixed_num+Int_num);
    end
    if(fixed_operator > 2^(Fixed_num+Int_num))
        fixed_operator = fixed_operator - 2^(Fixed_num+Int_num);
    end

    %% 计算类型判断
    % if((Operation ~= "ADD" || Operation ~= "add") && (Operation ~= "SUB" || Operation ~= "sub") && (Operation ~= "MUL" || Operation ~= "mul") &&  (Operation ~= "DIV" || Operation ~= "div"))
    %     error("Fixed_point_calculation Operation Error");
    % end
    % if((Operation == "ADD" || Operation == "add"))
    %     result = fixed_operand + fixed_operator;
    % end
    % if((Operation == "SUB" || Operation == "sub"))
    %     result = fixed_operand - fixed_operator;
    % end
    % if((Operation == "MUL" || Operation == "mul"))
    %     result = fixed_operand - fixed_operator;
    % end
    % if((Operation == "DIV" || Operation == "div"))
    %     result = fixed_operand - fixed_operator;
    % end
    switch Operation
        case {"ADD" , "add"}
            result = fixed_operand + fixed_operator;
        case {"SUB" , "sub"}
            result = fixed_operand - fixed_operator;
        case {"MUL" , "mul"}
            result = fix(fixed_operand * fixed_operator /2^Fixed_num);
        case {"DIV" , "div"}
            result = fix((fixed_operand*2^Fixed_num) / fixed_operator);
        otherwise
            error("Fixed_point_calculation Operation Error");
    end

    %% 获取权重向量
    weight_vector = Int_num-1:-1:-Fixed_num;
    powerVec      = 2.^weight_vector;
    symbol_temp   = (result<0)*(-1) + (result>=0)*1;
    result        = abs(result); 
    valtmp = 0;
    for i = 1:Fixed_num+Int_num
        if(bitand(result ,bitshift(1,(Fixed_num+Int_num)-i),'uint64') ~= 0)
            valtmp = valtmp + powerVec(i);
        end
    end

    result = valtmp*symbol_temp;

end